package com.ruoyi.asms.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 代理信息对象 proxy_info
 * 
 * @author yfkj
 * @date 2021-10-21
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ProxyInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 代理信息主键 */
    @TableField(exist = true)
    @TableId(type= IdType.AUTO)
    @ApiModelProperty(value =  "${comment}")
    private Long proxyInfoId;
    /** 代理的客户主键 */
    @Excel(name = "代理的客户主键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "代理的客户主键")
    private Long proxyDeptId;
    /** 代理人主键 */
    @Excel(name = "代理人主键")
    @TableField(exist = true)
    @ApiModelProperty(value =  "代理人主键")
    private Long proxyUserId;
    /** 代理的信息记录json(角色、权限等)避免其他人修改后丢失最终的代理信息 */
    @Excel(name = "代理的信息记录json(角色、权限等)避免其他人修改后丢失最终的代理信息")
    @TableField(exist = true)
    @ApiModelProperty(value =  "代理的信息记录json(角色、权限等)避免其他人修改后丢失最终的代理信息")
    private String proxyInfo;
    public static final String PROXY_INFO_ID="proxy_info_id";
    public static final String PROXY_DEPT_ID="proxy_dept_id";
    public static final String PROXY_USER_ID="proxy_user_id";
    public static final String PROXY_INFO="proxy_info";
    public static final String CREATE_BY="create_by";
    public static final String CREATE_TIME="create_time";
    public static final String UPDATE_BY="update_by";
    public static final String UPDATE_TIME="update_time";
    public static final String REMARK="remark";
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("proxyInfoId", getProxyInfoId())
            .append("proxyDeptId", getProxyDeptId())
            .append("proxyUserId", getProxyUserId())
            .append("proxyInfo", getProxyInfo())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
